A third generation mobile communications system is in Europe named UMTS (Universal Mobile Telecommunications System). It is a part of the International Telecommunications Union's IMT-2000 system. UMTS/IMT-2000 is global wireless multimedia system which provides higher transmission speed (2 Mbit/s) than the existing mobile networks.
FIG. 1 shows with a simplified block diagram a GSM (Global System for Mobile communications) network and a UMTS network. The main parts of the network are user terminals 100 and a network part that comprises the GSM base station subsystem BSS 105 and the UMTS terrestrial radio access network UTRAN 101 (which is a wideband multiple access radio network currently being specified in the 3GPP (Third Generation Partnership Project)) and a core network CN 104. The radio interface between a user terminal and the UTRAN is called Uu and the interface between the UTRAN and the 3G core network is called Iu. The interface between the GSM base station subsystem BSS and general packet radio service GPRS core network is called Gb and interface between the GSM base station subsystem BSS and GSM core networks is called A. The user terminals can be multi-mode terminals, which can operate using at least two radio access technologies, in this example UMTS and GSM. The UTRAN consists of a radio network subsystems RNS 102 that further consists of radio network controller RNC 103 and one or more nodes B (not shown in FIG. 1). An interface between two RNS is called Iur. The interface between the user terminal and the GSM base station subsystem BSS is simply called “Radio Interface”. The GSM base station subsystem BSS consists of the base station controllers BSC 106 and the base transceiver stations BTS 107. The core network nodes, e.g. the (GSM) Mobile Switching Center MSC and the (GPRS) serving GPRS support node SGSN, can be capable of controlling both types of radio access networks—UTRAN and BSS. Another possible network configuration is such that each radio access network (UTRAN and BSS) has its own controlling core network node, MSC and SGSN, respectively—2G MSC, 2G SGSN and 3G MSC, 3G SGSN—but all these core network elements are connected to one and the same home location register HLR (not shown in FIG. 1), which contains all static user information, e.g. the billing of users can be controlled from one location even when the user terminals are able to operate via several different radio access networks.
The radio interface protocols which are needed to set up, reconfigure and release the radio bearer services are discussed shortly in the following. The radio interface protocol architecture in the access stratum consists of three different protocol layers which are from top to bottom: the radio network layer (L3), the data link layer (L2), and the physical layer (L1). The protocol entities in these layers are the following. The radio network layer consists of only one protocol, which in the UMTS radio interface is called RRC (Radio Recourse Control) and in the 2G GSM radio interface is called RR (Radio Resource protocol). The data link layer consists of several protocols in the UMTS radio interface called PDCP (Packet Data Convergence Protocol), BMC (Broadcast Multicast Control protocol), RLC (Radio Link Control protocol), and MAC (Medium Access Control protocol). In the GSM/GPRS radio interface, the layer 2 protocols are LLC (Logical Link Control), LAPDm (Link Access Protocol on the Dm channel), RLC (Radio Link Control), and MAC (Medium Access Control protocol). The physical layer is only one ‘protocol’, which has no specific name. All the mentioned radio interface protocols are specific for each radio access technique, which means that they are different for the GSM radio interface and the UMTS Uu interface, for example.
In the UMTS, the RRC layer offers services to higher layers i.e. to a non access stratum NAS via service access points which are used by the higher protocols in the user terminal side and by the Iu RANAP (Radio Access Network Application Part) protocol in the UTRAN side. All higher layer signaling (mobility management, call control, session management, etc.) is encapsulated into RRC messages for transmission over the radio interface.
All telecommunication is subject to the problem of how to make sure that the information received has been sent by an authorized sender and not by somebody who is trying to masquerade as the sender. The problem is particularly evident in cellular telecommunication systems, where the air interface presents an excellent platform for eavesdropping and replacing the contents of a transmission by using higher transmission levels, even from a distance. A basic solution to this problem is the authentication of the communicating parties. An authentication process aims to discover and check the identity of both the communicating parties, so that each party receives information about the identity of the other party and can rely on the identification to a sufficient degree. Authentication is typically performed in a specific procedure at the beginning of the connection. However, this does not adequately protect subsequent messages from unauthorized manipulation, insertion, and deletion. Thus, there is a need for the separate authentication of each transmitted message. The latter task can be carried out by appending a message authentication code (MAC-I) to the message at the transmitting end and checking the MAC-I value at the receiving end.
A MAC-I is typically a relatively short string of bits based in some specified way on the message it protects and on a secret key known both by the sender and by the recipient of the message. The secret key is generated and agreed on typically in connection with the authentication procedure at the beginning of the connection. In some cases the algorithm that is used to calculate the MAC-I based on the secret key and on the message is also secret, but this is not usually the case.
The process of authentication of single messages is often called integrity protection. To protect the integrity of signaling, the transmitting party computes a MAC-I value based on the message to be sent and the secret key using the specified algorithm, and sends the message with the MAC-I value. The receiving party recomputes a MAC-I value based on the message and the secret key according to the specified algorithm, and compares the received MAC-I and the calculated MAC-I. If the two MAC-I values match, the recipient can trust that the message is intact and has been sent by the authorized party.
FIG. 2 illustrates the computation of a message authentication code in the UTRAN. The length of the MAC-I used in UTRAN is 32 bits.
The UMTS integrity algorithm used in block 200 is a one-way cryptographic function for calculating the Message Authentication Code (MAC-I) based on the input parameters shown in FIG. 2. The one-way function means that it is impossible to derive the unknown input parameters from a MAC-I, even if all but one input parameter are known.
The input parameters for calculating the MAC-I are the actual signaling message (after encoding) to be sent, a secret integrity key, a sequence number COUNT-I for the message to be integrity protected, a value indicating the direction of transmission, i.e. whether the message is sent in uplink (from the user terminal to the network) or downlink (from the network to the user terminal) direction, and a random number (FRESH) generated by the network. COUNT-I is composed of a short sequence number SN and a long sequence number called hyper frame number HFN. Only the short sequence number is normally sent with the message; the HFN is updated locally at each communicating party.
The computing block 200 calculates the message authentication code by applying the afore-mentioned parameters to the integrity algorithm, which is called f9 algorithm in 3GPP Release'99 specifications. It is possible that more algorithms will be available in future releases of new specifications. Before integrity protection is started, the user terminal informs the network, which integrity algorithms it supports, and the network then selects one of these algorithms to be used for the connection. A similar mechanism regarding the supported algorithms is also used for the ciphering.
FIG. 3 illustrates a message to be sent over e.g. a radio interface. The message is a layer N protocol data unit (PDU) 300, which is transferred as a payload in layer N−1 PDU 301. In the present example, layer N represents the Radio Resource Control (RRC) protocol in the radio interface and layer N−1 represents the Radio Link Control (RLC) layer. The layer N−1 PDU normally has a fixed size, which depends on the physical layer (the lowest layer, not visible in FIG. 2) channel type used and on the parameters, e.g. modulation, channel coding, interleaving. If layer N PDUs are not exactly the size of the payload offered by layer N−1 as is normally the case, layer N−1 can utilize functions like segmentation, concatenation, and padding to make layer N−1 PDUs always a fixed size. In the present application we are concentrating on a layer N PDU consisting of the actual signaling data and the Integrity Check Info. The Integrity Check Info consists of the MAC-I and the message sequence number SN needed at the peer end for the recalculation of MAC-I. The total length of the message is then a combination of the signaling data bits and the Integrity Check Info bits.
FIG. 4 illustrates intersystem handover from a radio access network to a GSM base station subsystem. For simplicity only one mobile switching center is shown in the FIG. 4. Actually it consists of a GSM (2G or second generation) mobile switching center MSC and a UMTS (3G or third generation) mobile switching center, which may be physically either one or two separate MSC's. Interaction between these two mobile switching centers (if they would be two separate entities) is not essential in view of the actual invention and therefore it is not described in the following.
At the beginning, a connection exists between the user terminal and the radio access network, which in this particular example is a UTRAN. Based on various parameters, e.g. the neighboring cell load information, measurements from the user terminal, and the existence of GSM cells in the nearby geographical area as well as existence of the user terminal capabilities (to support also GSM mode), the radio access network may initiate an intersystem handover to base station subsystem BSS. First, the UTRAN requests the user terminal to start intersystem measurements on GSM carriers by sending a MEASUREMENT CONTROL message 400 containing intersystem specific parameters. When the criteria (as described in the MEASUREMENT CONTROL message) to send a measurement report is fulfilled, the user terminal sends a MEASUREMENT REPORT(s) 401. Intersystem handover decision is then made at the UTRAN. After the decision a serving radio network controller SRNC, which is located in the UTRAN, sends a RELOCATION REQUIRED 402 message through Iu interface to the mobile switching center (3G MSC). Once after receiving, the message the mobile switching center (2G MSC) sends a HANDOVER REQUEST message 403 to a target base station subsystem, containing information, such as the ciphering algorithm and ciphering key to be used for the connection, and the MS classmark information, indicating, for example, which ciphering algorithms are supported by the user terminal. Thus, it is possible that either the mobile switching center MSC selects the ciphering algorithm and indicates only the selected algorithm to the base station subsystem BSS, or that the mobile switching center MSC sends a list of possible ciphering algorithms to the base station subsystem BSS, which then makes the final selection. The MS classmark information was sent by the user terminal to the mobile switching center MSC at the beginning of the (UMTS) connection. It is also possible that the MS classmark information is sent from the user terminal to the UMTS radio access network (UTRAN) at the beginning of the (UMTS) connection. When an inter-system handover from UMTS to GSM is triggered, the MS classmark information is forwarded from UTRAN to MSC. When a GSM base station controller receives the message it makes reservation from the indicated GSM cell and responds by sending back a HANDOVER REQUEST ACK message 404 indicating that the requested handover at the base station subsystem BSS can be supported and also to which radio channel(s) the user terminal should be directed. The HANDOVER REQUEST ACK 404 also indicates that the requested handover algorithm has been accepted, or, if the HANDOVER REQUEST 403 contained several algorithms, which handover algorithm has been selected. If the base station subsystem BSS is not able to support any of the indicated ciphering algorithms, it returns a HANDOVER FAILURE message (instead of 404) and the mobile switching center MSC indicates failure of the handover to the UTRAN. At stage 405, the mobile switching center (3G MSC) responds with a RELOCATION COMMAND message over the Iu interface to the message sent at stage 402 from the serving radio network controller located in the UTRAN. The RELOCATION COMMAND carries in a payload e.g. the information about the target GSM channels together with the cipher mode information. The UTRAN commands the user terminal to execute the handover by sending an INTERSYSTEM HANDOVER COMMAND 406 message including channel information for the target GSM. In addition, other information may be included, such as the GSM cipher mode setting information, which indicates at least the ciphering algorithm to be used in the GSM connection. After having switched to the assigned GSM channels, the mobile station normally sends four times the HANDOVER ACCESS message 407 in four successive layer 1 frames on the main DCCH. These messages are sent in GSM access bursts, which are not ciphered. In some situations it may not be necessary to send these HANDOVER ACCESS messages, if so indicated in the INTERSYSTEM HANDOVER COMMAND 406. The terminal may receive a PHYSICAL INFORMATION 408 message as a response to the HANDOVER ACCESS messages. The PHYSICAL INFORMATION message contains only the GSM Timing Advance information. Reception of a PHYSICAL INFORMATION message causes the terminal to stop sending access bursts. The HANDOVER ACCESS messages, if used, trigger the GSM base station controller in the base station system to inform about the situation to the mobile switching center (2G) with a HANDOVER DETECT message 409.
After lower layer connections are successfully established, the mobile station returns a HANDOVER COMPLETE 410 message to the GSM base station subsystem on the main DCCH. When receiving the HANDOVER COMPLETE message 410, the network releases the old channels, in this example the UTRAN channels. In FIG. 4, three messages from this release procedure are shown, although in reality many other messages between network elements, which are not shown in FIG. 4, would be needed. These three messages are first the HANDOVER COMPLETE message 411 from GSM base station subsystem to the mobile switching center, then a IU RELEASE COMMAND 412 through Iu interface to the UTRAN or more accurately to the serving radio network controller. The third message is the IU RELEASE COMPLETE message 413.
The ciphering key to be used after the intersystem handover is derived with a conversion function from the ciphering key used in UTRAN before the handover. This conversion function exists both in the mobile station and in the mobile switching center, thus no extra procedures over the radio interface are needed. As described above, the GSM ciphering algorithm to be used after the intersystem handover is selected either by the MSC or by the BSS and informed to the mobile station (in messages 405 and 406). The GSM Ciphering algorithm capability (included in the GSM MS classmark information elements) is in current specifications transparent to the UTRAN. However, the GSM MS classmark information elements are sent from the mobile station to UTRAN during the RRC Connection Establishment procedure, to be later forwarded to the core network during the inter-system handover to GSM.
FIG. 5 is a signaling diagram showing the basic connection setup and security mode setup procedure used in the 3GPP UTRAN. FIG. 5 shows only the most important signaling between a mobile station and a serving radio network controller residing in the radio access network on the one hand and the serving radio network controller and a mobile switching center or a serving GPRS support node on the other.
Establishment of a radio resource control (RRC) connection between the mobile station and the serving radio network controller is performed through Uu interface 500. During RRC connection establishment, the mobile station may transfer information such as the user equipment security capability and the START values, which are required for the ciphering and integrity protection algorithms. The user equipment security capability includes information about the supported (UMTS) ciphering algorithms and (UMTS) integrity algorithms. All the values mentioned above are stored for later use in the serving radio network controller at stage 501. Also the GSM Classmark information (MS Classmark 2 and MS Classmark 3) is transmitted from the mobile station to UTRAN during RRC connection establishment, and it can be stored for later use in the serving radio network controller.
Next the mobile station sends an initial higher layer message 502 (which can be e.g. CM SERVICE REQUEST, LOCATION UPDATING REQUEST or CM RE-ESTABLISHMENT REQUEST) via the serving radio network controller through a Iu interface to the mobile switching center, including e.g. the user identity, a key set identifier KSI and the MS classmark indicating, for example, the supported GSM ciphering algorithms when intersystem handover to the GSM is initialized. The network initiates authentication procedure which also leads to generation of new security keys 503. Next, the network decides the set of UMTS Integrity Algorithms UIAs and UMTS Encryption Algorithms UEAs from which the UIA and UEA for this connection has to be selected 504. Then, at stage 505, the mobile switching center sends a SECURITY MODE COMMAND message to the serving radio network controller, in which it informs the used ciphering key CK, integrity key IK, and the set of permissible UIAs and UEAs.
On the basis of the user equipment security capabilities stored at stage 501 and the list of possible UIAs and UEAs received from the mobile switching center at stage 505, the serving radio network controller selects the algorithms to be used during the connection. It also generates a random value FRESH to be used as input parameter for the integrity algorithm (FIG. 2) and for the ciphering algorithm. It also starts deciphering and the integrity protection 506.
A first integrity protected message SECURITY MODE COMMAND 507 is sent through the radio interface from the serving radio network controller to the mobile station. The message includes the selected UIA and UEA together with the UE FRESH parameter to be used. In addition, the SECURITY MODE COMMAND contains the same UE security capability which was received from the user equipment during the RRC connection establishment 500. The reason for replaying this information back to UE is to give the user equipment a possibility to check that the network has received this information correctly. This mechanism is necessary, since the messages sent during RRC connection establishment 500 are not ciphered nor integrity protected. A message authentication code MAC-I, used for the integrity protection, is attached to the SECURITY MODE COMMAND message 507.
At stage 508 the mobile station compares whether the received UE security capability is same as that which has been sent during the RRC connection establishment procedure 500. If the two UE security capabilities match, the mobile station can trust that the network has received the security capability correctly. Otherwise, the UE releases the RRC connection and enters idle mode.
If comparison is successful the mobile station responds with a SECURITY MODE COMPLETE message 509. This is also an integrity protected message; thus before sending this message the mobile station generates the MAC-I for the message.
When the serving radio network controller receives the message it verifies it, at stage 510, first by calculating the expected message authentication code XMAC-I and then comparing the calculated XMAC-I with the received MAC-I. If the values match, the serving radio network controller sends a SECURITY MODE COMPLETE message 511 to the mobile switching center including e.g. information of the selected UIA and UEA.
In the UTRAN radio interface integrity protection is a function of the radio recourse control protocol between the user terminal and the radio network controller. All higher layer signaling is integrity protected by the radio resource control protocol layer because all higher layer signaling is carried as a payload in specific radio recourse control messages (e.g. INITIAL DIRECT TRANSFER, UPLINK DIRECT TRANSFER, DOWNLINK DIRECT TRANSFER). The problem is that no authentication can be performed before the first higher layer message is sent, which is carried in the INITIAL DIRECT TRANSFER. This leads to a situation where the very first higher layer i.e. the non-access stratum message 502 cannot be integrity protected.
A major problem arises from the fact that integrity protection is not yet in effect when the first messages are sent during RRC Connection Establishment (step 500 in the FIG. 5). Without integrity protection there is always a risk that an intruder changes the encryption algorithm information included in the messages at step 500 into the value “GSM encryption algorithms not available”. In the case of GSM, the core network receives this information with the mobile station classmark CM information elements (CM2 and CM3) that are included in the RELOCATION REQUIRED message (message 402 in FIG. 4). When the user equipment carries out an intersystem handover, e.g. from the UTRAN to the GSM base station subsystem BSS (FIG. 4) the mobile switching center recognizes that the UE does not support any GSM ciphering algorithms and must set up the connection in the GSM BSS with no ciphering. Now it is easy to the intruder to start eavesdropping of the call.